package com.qtummatrix.service;

import com.qtummatrix.entity.EmpinfoEntity;
import com.qtummatrix.entity.OrganizationEntity;

import java.util.Date;
import java.util.List;
import java.util.Map;

/**
 * create by Gongshiyong  2019-12-07 11:31
 */
public interface AuthotityManagerService {

    /**
     * 获取使用者信息
     *
     * @return
     */
    public List<Map<String, Object>> getUserList(String tel, String username, String rooleid, int bankid,
                                                 int organization, int state, int pageNo, int pageSize);

    /**
     * 获取使用者总记录数
     */
    public Integer getUserSize(String tel, String username, String rooleid, int bankid, int organization, int state);

    /**
     * 重置密码
     */
    public int resetUserPassword(int id);

    /**
     * 更改用户使用状态
     *
     * @param id
     * @return
     */
    public int userOpenEdit(int id);

    /**
     * 验证手机号
     *
     * @param phone
     * @return
     */
    public int validatePhone(String phone);

    /**
     * 登录验证
     *
     * @param tel
     * @param password
     * @return
     */
    public EmpinfoEntity UserLoginValidate(String tel, String password);

    /**
     * 验证添加用户的用户名是否存在
     *
     * @param tel
     * @return
     */
    public int ValidateaddUserTel(String tel);

    //获取所有的所属机构
    public List<OrganizationEntity> getAllCompany();

    //获取所有的所属银行
    public List<Map<String, Object>> getAllBankName();

    //获取所有的用户角色
    public List<Map<String, Object>> getAllRole();

    //添加使用者
    public int AddUserInfo(String username, String password, String tel, int bankid, String roleid, Date entrytime,
                           int organization, String email, String linkmanname, String linkmantel, String companytel);

    //查询所有的角色
    public List<Map<String, Object>> getRoleList(String rooname, String bankname, int pageNo, int pageSize);

    //获取角色的个数
    public int getRoleSize(String rooname, String bankname);

    //删除角色根据id
    public int deleteRoleById(int id);

    //添加用户角色信息
    public int addRole(String rolename, int bankid, String description, String rolePermission);

    //校验添加的角色名
    public int getValidateRoleName(String rolename);

    //获取当前登录用户的权限
    public Map<String, String> getCurrentUserPerssion(String tel);

    //修改密码
    public String eidtPassword(String tel, String oldPassword, String newPassword);

    //获取首页数据
    public String getHomePageInfo();
}
